package workflow;

import java.util.ArrayList;

public class GEnGeneracion extends GeneradorPermiso
{
  public GEnGeneracion(Generador generador){
    super(generador); 
  }
  
  public void recibirTema(Tema unTema){
    unTema.setColaborador(getGenerador());
    getGenerador().agregarTema(unTema);
  }
  
  public ArrayList<Tema> obtenerTemas(){
    return getGenerador().getTemas();
  }
  
  public void agregarParrafo(String titulo, String contenido){
    Tema unTema = searchAndGetTemaxTitulo(titulo);
    unTema.addParrafo(contenido);
  }
  
  public void agregarEjercicio(String titulo, String contenido){
    Tema unTema = searchAndGetTemaxTitulo(titulo);
    unTema.addEjercicio(contenido);
  }
  
  public void enviarTemas(){
    getGenerador().getTp().recibirGeneraciones(getGenerador().getTemas());
    notificar();
    getGenerador().deshabilitar();
    getGenerador().getWorkflow().liberar();
  }
  
  public void notificar(){
    getGenerador().getTp().notificarGeneracion();
  }
  
  private Tema searchAndGetTemaxTitulo(String titulo){
    ArrayList<Tema> temas = getGenerador().getTemas();
    Tema tema = null;
    for(Tema i : temas)
    {
      if(i.getTitulo()==titulo)
      {
        tema = i;
      }
    }
    return tema;
   }
  
  
}
